﻿namespace IKVM.Tools.Importer
{

    internal enum Message
    {

        // These are the informational messages
        MainMethodFound = 1,
        OutputFileIs = 2,
        AutoAddRef = 3,
        MainMethodFromManifest = 4,
        // This is were the warnings start
        StartWarnings = 100,
        ClassNotFound = 100,
        ClassFormatError = 101,
        DuplicateClassName = 102,
        IllegalAccessError = 103,
        VerificationError = 104,
        NoClassDefFoundError = 105,
        GenericUnableToCompileError = 106,
        DuplicateResourceName = 107,
        SkippingReferencedClass = 109,
        NoJniRuntime = 110,
        EmittedNoClassDefFoundError = 111,
        EmittedIllegalAccessError = 112,
        EmittedInstantiationError = 113,
        EmittedIncompatibleClassChangeError = 114,
        EmittedNoSuchFieldError = 115,
        EmittedAbstractMethodError = 116,
        EmittedNoSuchMethodError = 117,
        EmittedLinkageError = 118,
        EmittedVerificationError = 119,
        EmittedClassFormatError = 120,
        InvalidCustomAttribute = 121,
        IgnoredCustomAttribute = 122,
        AssumeAssemblyVersionMatch = 123,
        InvalidDirectoryInLibOptionPath = 124,
        InvalidDirectoryInLibEnvironmentPath = 125,
        LegacySearchRule = 126,
        AssemblyLocationIgnored = 127,
        InterfaceMethodCantBeInternal = 128,
        DuplicateAssemblyReference = 132,
        UnableToResolveType = 133,
        StubsAreDeprecated = 134,
        WrongClassName = 135,
        ReflectionCallerClassRequiresCallerID = 136,
        LegacyAssemblyAttributesFound = 137,
        UnableToCreateLambdaFactory = 138,
        UnknownWarning = 999,
        // This is where the errors start
        StartErrors = 4000,
        UnableToCreateProxy = 4001,
        DuplicateProxy = 4002,
        MapXmlUnableToResolveOpCode = 4003,
        MapXmlError = 4004,
        InputFileNotFound = 4005,
        UnknownFileType = 4006,
        UnknownElementInMapFile = 4007,
        UnknownAttributeInMapFile = 4008,
        InvalidMemberNameInMapFile = 4009,
        InvalidMemberSignatureInMapFile = 4010,
        InvalidPropertyNameInMapFile = 4011,
        InvalidPropertySignatureInMapFile = 4012,
        NonPrimaryAssemblyReference = 4013,
        MissingType = 4014,
        MissingReference = 4015,
        CallerSensitiveOnUnsupportedMethod = 4016,
        RemappedTypeMissingDefaultInterfaceMethod = 4017,
        // Fatal errors
        ResponseFileDepthExceeded = 5000,
        ErrorReadingFile = 5001,
        NoTargetsFound = 5002,
        FileFormatLimitationExceeded = 5003,
        CannotSpecifyBothKeyFileAndContainer = 5004,
        DelaySignRequiresKey = 5005,
        InvalidStrongNameKeyPair = 5006,
        ReferenceNotFound = 5007,
        OptionsMustPreceedChildLevels = 5008,
        UnrecognizedTargetType = 5009,
        UnrecognizedPlatform = 5010,
        UnrecognizedApartment = 5011,
        MissingFileSpecification = 5012,
        PathTooLong = 5013,
        PathNotFound = 5014,
        InvalidPath = 5015,
        InvalidOptionSyntax = 5016,
        ExternalResourceNotFound = 5017,
        ExternalResourceNameInvalid = 5018,
        InvalidVersionFormat = 5019,
        InvalidFileAlignment = 5020,
        ErrorWritingFile = 5021,
        UnrecognizedOption = 5022,
        NoOutputFileSpecified = 5023,
        SharedClassLoaderCannotBeUsedOnModuleTarget = 5024,
        RuntimeNotFound = 5025,
        MainClassRequiresExe = 5026,
        ExeRequiresMainClass = 5027,
        PropertiesRequireExe = 5028,
        ModuleCannotHaveClassLoader = 5029,
        ErrorParsingMapFile = 5030,
        BootstrapClassesMissing = 5031,
        StrongNameRequiresStrongNamedRefs = 5032,
        MainClassNotFound = 5033,
        MainMethodNotFound = 5034,
        UnsupportedMainMethod = 5035,
        ExternalMainNotAccessible = 5036,
        ClassLoaderNotFound = 5037,
        ClassLoaderNotAccessible = 5038,
        ClassLoaderIsAbstract = 5039,
        ClassLoaderNotClassLoader = 5040,
        ClassLoaderConstructorMissing = 5041,
        MapFileTypeNotFound = 5042,
        MapFileClassNotFound = 5043,
        MaximumErrorCountReached = 5044,
        LinkageError = 5045,
        RuntimeMismatch = 5046,
        RuntimeMismatchStrongName = 5047,
        CoreClassesMissing = 5048,
        CriticalClassNotFound = 5049,
        AssemblyContainsDuplicateClassNames = 5050,
        CallerIDRequiresHasCallerIDAnnotation = 5051,
        UnableToResolveInterface = 5052,
        MissingBaseType = 5053,
        MissingBaseTypeReference = 5054,
        FileNotFound = 5055,
        RuntimeMethodMissing = 5056,
        MapFileFieldNotFound = 5057,
        GhostInterfaceMethodMissing = 5058,

        // ModuleInitializer attribute placed on inappropriate method
        ModuleInitializerMethodRequirements = 5059,

    }

}
